//
//  QJCellConfig.h
//  QJWork
//
//  Created by qijia on 15/6/1.
//  Copyright (c) 2015年 高中雷. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "QJDefines.h"
#import <UIKit/UIKit.h>
@class QJBaseTableViewCell;
@interface QJCellConfig : NSObject<QJCellDelegate>


//自定义的名字
@property (nonatomic, strong) NSString *className;

//模型数据
@property (nonatomic, strong) id data;

/**
 * 当有一个cell的时候
 * @param data 数据
 * @param className 自定义cell名字
 */
+(id)cellFromData:(id)data className:(NSString *)className;


+(id)cellFromDataOnlyConfig:(id)data className:(NSString *)className;


/**
 *当有多个cell的时候
 * @param ary 数据
 * @param className 自定义cell名字
 */
+(NSMutableArray*)arrayFromDataArray:(NSMutableArray*)ary  className:(NSString *)className;

/**
 *当有section的时候调用方法
 * @param ary 数据
 * @param className 自定义cell名字
 */
+(NSMutableArray *)sectionFromDataArray:(NSMutableArray *)ary className:(NSString *)className;

//只用在名片夹首页
+(NSMutableArray *)sectionAandZArray:(NSMutableArray *)ary className:(NSString *)className;

+(NSMutableArray *)arrayFromViewModelDataArray:(NSMutableArray *)ary className:(NSString*)className;

/**
 * 重用cell
 */
- (QJBaseTableViewCell *)cellOfCellConfigWithTableView:(UITableView *)tableView IndexPath:(NSIndexPath *)indexPath  withContainer:(id<QJCellControlClientDelegate>)containerDelegate;
//- (UITableViewCell *)cellOfCellConfigWithTableView:(UITableView *)tableView  withContainer:(id<QJCellControlClientDelegate>)containerDelegate ;

/**
 *返回高度
 */
-(CGFloat)cellHeightWithTableView:(UITableView *)tableView indexPath:(NSIndexPath *)indexPath;

-(CGFloat)fd_cellHeightWithTableView:(UITableView *)tableView indexPath:(NSIndexPath *)indexPath;//自适应高度
@end
